﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BL = class_BL;
using EN = class_Entidad;

namespace WebMenu.Pagina.Mantenimiento
{
    public partial class frmRecetaEditar : System.Web.UI.Page
    {
        public void CrearTablaTemporal()
        {
            DataTable tbIngrediente = new DataTable("Ingrediente");
            tbIngrediente.Columns.Add("ID_ITEMS", typeof(Int32));
            tbIngrediente.Columns.Add("ID_PRODUCTO", typeof(Int32));
            tbIngrediente.Columns.Add("DESC_ITEMS", typeof(string));
            tbIngrediente.Columns.Add("NOM_PROD", typeof(string));
            ViewState["Ingrediente"] = tbIngrediente;
        }

        public void cargarTipoPlato()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.DESC_ITEMS = "";
            objItem.ID_PADRE = 3;

            lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
            foreach (var item in lista)
            {
                ddlTipo.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
            }
        }

        public void cargarClasePlato()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.DESC_ITEMS = "";
            objItem.ID_PADRE = 7;

            lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
            foreach (var item in lista)
            {
                ddlClase.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
            }
        }

        public void cargarTipoProd()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.ID_PADRE = 1;
            objItem.DESC_ITEMS = "";

            try
            {
                lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
                foreach (var item in lista)
                {
                    ddlTipoProd.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void cargaProd()
        {
            EN.PARAM_PRODUCTO_EN param = new EN.PARAM_PRODUCTO_EN();
            List<EN.PRODUCTO_EN> Lista = new List<EN.PRODUCTO_EN>();
            param.ID_PRODUCTO = 0;
            param.ID_TPROD = Convert.ToInt32(ddlTipoProd.SelectedValue);
            param.NOM_PROD = "";
            try
            {
                Lista = BL.PRODUCTO_BL.listaProducto(param);
                foreach (var item in Lista)
                {
                    ddlProd.Items.Add(new ListItem(Convert.ToString(item.NOM_PROD), Convert.ToString(item.ID_PRODUCTO)));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void AgregarIngrdiente()
        {
            DataTable tbIngrediente = new DataTable();
            DataRow fila;
            tbIngrediente = (DataTable)ViewState["Ingrediente"];
            tbIngrediente = tbIngrediente.Copy();
            fila = tbIngrediente.NewRow();
            fila["ID_ITEMS"] = Convert.ToInt32(ddlTipoProd.SelectedValue);
            fila["ID_PRODUCTO"] = Convert.ToInt32(ddlProd.SelectedValue);
            fila["DESC_ITEMS"] = ddlTipoProd.SelectedItem.Text;
            fila["NOM_PROD"] = ddlProd.SelectedItem.Text;
            tbIngrediente.Rows.Add(fila);
            ViewState["Ingrediente"] = tbIngrediente;

            gvProducto.DataSource = tbIngrediente;
            gvProducto.DataBind();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlTipo.Items.Add(new ListItem("--Seleccionar--", "-2"));
                ddlClase.Items.Add(new ListItem("--Seleccionar--", "-2"));
                ddlTipoProd.Items.Add(new ListItem("--Seleccionar--", "-2"));
                ddlProd.Items.Add(new ListItem("--Seleccionar--", "-2"));

                cargarTipoPlato();
                cargarClasePlato();
                cargarTipoProd();
                CrearTablaTemporal();
            }
        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            AgregarIngrdiente();
        }

        protected void ddlTipoProd_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlTipoProd.SelectedValue == "-2")
            {
                ddlProd.Items.Clear();
                ddlProd.Items.Add(new ListItem("--Seleccionar--", "-2"));
            }
            else
            {
                ddlProd.Items.Clear();
                ddlProd.Items.Add(new ListItem("--Seleccionar--", "-2"));
                cargaProd();
            }
        }
    }
}